＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

                        PC-FXGAオーサリングソフトウェア
                 『ＧＭＡＫＥＲ』スタータキットプラス(Ver.1.1)
                      ”ＶＰＯＰ．ＥＸＥ(Ver.1.00)”の解説

                                        日本電気ホームエレクトロニクス株式会社
                                                          １９９６年７月３０日

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

目次

第１章　パイプラインオプティマイザ概要
１.１　パイプラインオプティマイザの使用書式
１.２　パイプライン最適化
１.３　エラーメッセージ

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

第１章　パイプラインオプティマイザ概要

パイプラインオプティマイザはV810アセンブラ fxas が解釈するアセンブラソースに
記述されている命令列に対して最適化を行い、高速に命令を実行できるように並べ変
えます。

V810の命令アーキテクチャは最適化コンパイラに適したものになっていますが、クリ
ティカルな部分のプログラミングにはアセンブラを使用できるよう、ハードウェアで
パイプラインハザードの検出、インタロックを行うようになっています。

インタロックが起こるとパイプラインハザードにより命令の実行速度が遅くなります。


■１.１　パイプラインオプティマイザの使用書式

 +-------------------------------------------------------------------------+
 |  名称：vpop                                                             |
 |　  　　* V810アセンブラ fxas 用ソースのパイプライン最適化をします。     |
 |  形式：vpop [-CVchx] [-I path] [-o name] file                           |
 |  解説：vpop は V810アセンブラ fxas のソースをパイプラインが効くように   |
 |        最適化します。                                                   |
 +-------------------------------------------------------------------------+

＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-C      ｜コメント行を保存します。                            ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-I      ｜インクルードパスを設定します。                      ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-V      ｜vpopのバージョンを出力します。                      ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-c      ｜エラーメッセージを標準出力に出すようにします。      ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-h      ｜ヘルプメッセージを出力して終了します。              ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-o name ｜出力ファイル名を指定します(デフォルトは tmp.sp)。   ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
｜-x      ｜最適化をしません。                                  ｜
＋－－－－＋－－－－－－－－－－－－－－－－－－－－－－－－－－＋
  * 最適化された結果は -o を指定しなければ tmp.sp という名前で出力されます。
  * 出力されたファイルはそのまま fxas でアセンブルできます。


■１.２　パイプライン最適化

ロード・ストアによるレジスタhazard *の回避

* hazard: 命令の遅れが発生すること

直前の命令のディスティネーションレジスタをロード・ストア命令のベースレジスタに
使用すると、2クロックの hazard が発生します。

《例》

mov    rg0, rg1        mov     rg0, rg1
ld.w   (rg1), rg2      st.w    rg2, (rg1)

こういった命令の組合せによって hazard が発生する場合、前後に入れ換え可能な命令
がある時に、その命令をロード・ストア命令の前に配置することによって、hazard を
回避します。

《例》

mov    rg3, rg4        mov     rg0, rg1
mov    rg0, rg1    →  mov     rg3, rg4
st.w   rg4, (rg1)      st.w    rg4, (rg1)


■１.３　エラーメッセージ

＋－－－－－－－－－－－－－－－－－－－＋－－－－－－－－－－－－－－－－－＋
｜～: file write error.                 ｜ファイルの書き出しに失敗しました。｜
＋－－－－－－－－－－－－－－－－－－－＋－－－－－－－－－－－－－－－－－＋
｜～: No such file or directory.        ｜ファイルが見つかりません。        ｜
＋－－－－－－－－－－－－－－－－－－－＋－－－－－－－－－－－－－－－－－＋
｜～: nnn: illegal expression.          ｜不当な表記です。                  ｜
＋－－－－－－－－－－－－－－－－－－－＋－－－－－－－－－－－－－－－－－＋
｜～: nnn: illegal addressing mode.     ｜不当なアドレッシングモードです。  ｜
＋－－－－－－－－－－－－－－－－－－－＋－－－－－－－－－－－－－－－－－＋
｜～: nnn: illegal register (～) used.  ｜不当なレジスタ名です。            ｜
＋－－－－－－－－－－－－－－－－－－－＋－－－－－－－－－－－－－－－－－＋

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

《著作権及び登録商標等》

・VPOP.EXE 及び VPOP.TXT（以下、"本ソフトウェア"という）は、ＰＣ－ＦＸＧＡ用の
  ソフトウェア開発ツールの一部です。
  本ソフトウェアを、ＰＣ－ＦＸ、ＰＣ－ＦＸＧＡ用のソフトウェア開発以外の目的で
  使用しないで下さい。

・本ソフトウェアを使用した結果、直接及び間接的に生じた損害について、株式会社ハ
  ドソンは、一切の責任または債務を負わないものとします。

・本ソフトウェアの操作方法、技術的内容、その他の質問について、株式会社ハドソン
  では、直接お答えしていません。お問い合わせはご遠慮下さい。

・本ソフトウェアの使用に際し、「ソフトウェアのご使用条件」をよくご覧いただき、
  ご利用下さいますようお願い致します。

・本ソフトウェアの著作権は、株式会社ハドソンが保有しています。


Ｖ８１０，Ｖ８１０ファミリは日本電気株式会社の商標です。
その他、記載されている会社名、製品名は、各社の登録商標または商標です。


                                                            (C)1996 HUDSON SOFT
